package com.power.taskcenter.tasks.custom;

import cn.hutool.core.date.DateUtil;
import cn.hutool.core.date.TimeInterval;
import com.power.taskcenter.anno.RegisterTask;
import com.power.taskcenter.service.IDynamicTaskLogsService;
import com.power.taskcenter.tasks.DyTask;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.time.LocalDateTime;
import java.util.Date;

import static java.lang.Thread.sleep;


@Component
@Slf4j
public class TestTwoDyTask implements DyTask {

    /**
     * name 名称
     * remark 简单描述
     * cron 计划时间
     * 默认第一次注册的任务都不是自动启动的
     */

    @Autowired
    private IDynamicTaskLogsService dynamicTaskLogsService;

    @RegisterTask( name = "动态任务2", remark = "简单配置任务信息", cron = "0/20 * * * * ?")
    @Override
    public void run() {
        TimeInterval timer = DateUtil.timer();
        //执行业务代码
        try {
            dynamicTaskLogsService.saveLogs("testTwoDyTask",new Date());
            sleep(30);
        } catch (InterruptedException e) {

        }
        Long ll = timer.intervalRestart();
        dynamicTaskLogsService.saveLogs("testTwoDyTask","动态任务2 简单配置任务信息 "+ll+" 毫秒");
        log.info("testTwoDyTask 动态任务2 简单配置任务信息  "+ll+" 毫秒 ");
    }
}
